Dynomotion

Group: DynoMotion Message: 14583 From: ceesolgers Date: 4/12/2017
Subject: version 433 very slow

I did an upgrade from version 432 to 433 and now is my machine very slow. It starts normal but slow down along the way. What is new in version 433 what makes it slow and what can I do about it.

Mach3 plugin 

Group: DynoMotion Message: 14584 From: Tom Kerekes Date: 4/12/2017
Subject: Re: version 433 very slow
V4.33 changes are listed here:

I haven't heard of that issue before. Please post a screen shot of your Plugin settings and your Init C file. 

Regards
TK

On Apr 12, 2017, at 8:32 AM, olgers.cees0@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:

 

I did an upgrade from version 432 to 433 and now is my machine very slow. It starts normal but slow down along the way. What is new in version 433 what makes it slow and what can I do about it.

Mach3 plugin 

Group: DynoMotion Message: 14587 From: ceesolgers Date: 4/13/2017
Subject: Re: version 433 very slow
Group: DynoMotion Message: 14588 From: ceesolgers Date: 4/13/2017
Subject: Re: version 433 very slow
these are my old settings, I have used them for a few years now
  @@attachment@@
Group: DynoMotion Message: 14593 From: Tom Kerekes Date: 4/14/2017
Subject: Re: version 433 very slow [1 Attachment]
What settings are in your Init C file?  Please post it. 

Regards

TK

On Apr 13, 2017, at 2:37 PM, olgers.cees0@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:

 

these are my old settings, I have used them for a few years now

Group: DynoMotion Message: 14596 From: ceesolgers Date: 4/15/2017
Subject: Re: version 433 very slow [1 Attachment]
this is the one

#include "KMotionDef.h"

main()
{
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=200000;
ch0->Accel=200000;
ch0->Jerk=2000000;
ch0->P=1.2;
ch0->I=0.0009;
ch0->D=85;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=2000;
ch0->MaxErr=2000;
ch0->MaxOutput=2000;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=1;
ch0->OutputChan0=0;
ch0->OutputChan1=1;
ch0->MasterAxis=0;
ch0->LimitSwitchOptions=0x0;
ch0->InputGain0=-1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=0;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=8000;
ch0->StepperAmplitude=250;

ch0->iir[0].B0=1;
ch0->iir[0].B1=0;
ch0->iir[0].B2=0;
ch0->iir[0].A1=0;
ch0->iir[0].A2=0;

ch0->iir[1].B0=1;
ch0->iir[1].B1=0;
ch0->iir[1].B2=0;
ch0->iir[1].A1=0;
ch0->iir[1].A2=0;

ch0->iir[2].B0=0.01660940051079;
ch0->iir[2].B1=0.03321890160441;
ch0->iir[2].B2=0.01660940051079;
ch0->iir[2].A1=1.606789946556;
ch0->iir[2].A2=-0.6732289791107;



ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=12000000;
ch1->Accel=160000;
ch1->Jerk=160000;
ch1->P=2.200000;
ch1->I=0.016000;
ch1->D=105.000000;
ch1->FFAccel=0.000000;
ch1->FFVel=0.000000;
ch1->MaxI=200.000000;
ch1->MaxErr=80000;
ch1->MaxOutput=2000.000000;
ch1->DeadBandGain=1.000000;
ch1->DeadBandRange=0.000000;
ch1->InputChan0=1;
ch1->InputChan1=2;
ch1->OutputChan0=1;
ch1->OutputChan1=3;
ch1->OutputGain=-1;
ch1->LimitSwitchOptions=0x0;
ch1->InputGain0=-1.000000;
ch1->InputGain1=1.000000;
ch1->InputOffset0=0.000000;
ch1->InputOffset1=0.000000;
ch1->invDistPerCycle=1.000000;
ch1->Lead=0.000000;
ch1->MaxFollowingError=8000;
ch1->StepperAmplitude=250.000000;

ch1->iir[0].B0=1.000000;
ch1->iir[0].B1=0.000000;
ch1->iir[0].B2=0.000000;
ch1->iir[0].A1=0.000000;
ch1->iir[0].A2=0.000000;

ch1->iir[1].B0=1.000000;
ch1->iir[1].B1=0.000000;
ch1->iir[1].B2=0.000000;
ch1->iir[1].A1=0.000000;
ch1->iir[1].A2=0.000000;

ch1->iir[2].B0=1.000000;
ch1->iir[2].B1=0.000000;
ch1->iir[2].B2=0.000000;
ch1->iir[2].A1=0.000000;
ch1->iir[2].A2=0.000000;

ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=12000000;
ch2->Accel=160000;
ch2->Jerk=160000;
ch2->P=2.200000;
ch2->I=0.010000;
ch2->D=45.000000;
ch2->FFAccel=0.000000;
ch2->FFVel=0.000000;
ch2->MaxI=200.000000;
ch2->MaxErr=80000;
ch2->MaxOutput=2000.000000;
ch2->DeadBandGain=1.000000;
ch2->DeadBandRange=0.000000;
ch2->InputChan0=2;
ch2->InputChan1=3;
ch2->OutputChan0=2;
ch2->OutputChan1=5;
ch2->OutputGain=-1;
ch2->LimitSwitchOptions=0x0;
ch2->InputGain0=-1.000000;
ch2->InputGain1=1.000000;
ch2->InputOffset0=0.000000;
ch2->InputOffset1=0.000000;
ch2->invDistPerCycle=1.000000;
ch2->Lead=0.000000;
ch2->MaxFollowingError=8000;
ch2->StepperAmplitude=250.000000;

ch2->iir[0].B0=1.000000;
ch2->iir[0].B1=0.000000;
ch2->iir[0].B2=0.000000;
ch2->iir[0].A1=0.000000;
ch2->iir[0].A2=0.000000;

ch2->iir[1].B0=1.000000;
ch2->iir[1].B1=0.000000;
ch2->iir[1].B2=0.000000;
ch2->iir[1].A1=0.000000;
ch2->iir[1].A2=0.000000;

ch2->iir[2].B0=1.000000;
ch2->iir[2].B1=0.000000;
ch2->iir[2].B2=0.000000;
ch2->iir[2].A1=0.000000;
ch2->iir[2].A2=0.000000;

ch3->InputMode=ENCODER_MODE;
ch3->OutputMode=DAC_SERVO_MODE;
ch3->Vel=16000;
ch3->Accel=1000000;
ch3->Jerk=110000000;
ch3->P=1.75;
ch3->I=9.999999747379e-006;
ch3->D=65;
ch3->FFAccel=0;
ch3->FFVel=0;
ch3->MaxI=200;
ch3->MaxErr=2000;
ch3->MaxOutput=2000;
ch3->DeadBandGain=1;
ch3->DeadBandRange=0;
ch3->InputChan0=4;
ch3->InputChan1=4;
ch3->OutputChan0=3;
ch3->OutputChan1=7;
ch3->MasterAxis=-1;
ch3->LimitSwitchOptions=0x0;
ch3->InputGain0=-1;
ch3->InputGain1=1;
ch3->InputOffset0=0;
ch3->InputOffset1=0;
ch3->OutputGain=1;
ch3->OutputOffset=0;
ch3->SlaveGain=1;
ch3->BacklashMode=BACKLASH_OFF;
ch3->BacklashAmount=0;
ch3->BacklashRate=0;
ch3->invDistPerCycle=1;
ch3->Lead=0;
ch3->MaxFollowingError=1000000000;
ch3->StepperAmplitude=250;

ch3->iir[0].B0=1;
ch3->iir[0].B1=0;
ch3->iir[0].B2=0;
ch3->iir[0].A1=0;
ch3->iir[0].A2=0;

ch3->iir[1].B0=1;
ch3->iir[1].B1=0;
ch3->iir[1].B2=0;
ch3->iir[1].A1=0;
ch3->iir[1].A2=0;

ch3->iir[2].B0=1;
ch3->iir[2].B1=0;
ch3->iir[2].B2=0;
ch3->iir[2].A1=0;
ch3->iir[2].A2=0;

DefineCoordSystem(0,1,2,3);
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
EnableAxis(3);
Zero(0);
Zero(1);
Zero(2);
Zero(3);

for(;;)
{
WaitNextTimeSlice();

if (ReadBit(48)) // Which Z mode are we in?
{
// THC Z mode is on, remove Z from System to allow THC
DefineCoordSystem(0,1,-1,-1);

if (ReadBit(143)) // if plasma is ON?
{

if (ReadBit(142))   //Up?
{
Delay_sec(0.1); // Delay for error filter
Jog(2,10000);           // Axis Z move UP
while (ReadBit(142)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
else if (ReadBit(141)) //DOWN?
{
Delay_sec(0.1); //Delay.
Jog(2,-10000);           // Axis Z move DOWN
while (ReadBit(141)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
}
}
else
{
// THC Z mode is off switch to normal Z mode
DefineCoordSystem(0,1,2,-1);
}
}
}


Group: DynoMotion Message: 14597 From: Tom Kerekes Date: 4/15/2017
Subject: Re: version 433 very slow
The Axis #2 and #3 Velocity, Acceleration, and Jerk are set to impractical values. 

A Velocity of 12000000 counts/s is way too high. An Acceleration of 160000 counts/s2 would take your system more than 75 sec to start/stop. The new Version slows down whenever the motion buffer becomes dangerously low without enough motion to even stop. With the buffering limited to 4 seconds the slow down is triggered.  Set the Velocity to a reasonable value. 

Jerk of 160000 is ok but somewhat low. That means the Acceleration is applied over 1sec.  This will result in very smooth motion but at the expense of throughput. 

You might also read this article:

HTH
Regards
TK

On Apr 15, 2017, at 8:05 AM, olgers.cees0@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:

 

this is the one


#include "KMotionDef.h"

main()
{
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=200000;
ch0->Accel=200000;
ch0->Jerk=2000000;
ch0->P=1.2;
ch0->I=0.0009;
ch0->D=85;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=2000;
ch0->MaxErr=2000;
ch0->MaxOutput=2000;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=1;
ch0->OutputChan0=0;
ch0->OutputChan1=1;
ch0->MasterAxis=0;
ch0->LimitSwitchOptions=0x0;
ch0->InputGain0=-1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=0;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=8000;
ch0->StepperAmplitude=250;

ch0->iir[0].B0=1;
ch0->iir[0].B1=0;
ch0->iir[0].B2=0;
ch0->iir[0].A1=0;
ch0->iir[0].A2=0;

ch0->iir[1].B0=1;
ch0->iir[1].B1=0;
ch0->iir[1].B2=0;
ch0->iir[1].A1=0;
ch0->iir[1].A2=0;

ch0->iir[2].B0=0.01660940051079;
ch0->iir[2].B1=0.03321890160441;
ch0->iir[2].B2=0.01660940051079;
ch0->iir[2].A1=1.606789946556;
ch0->iir[2].A2=-0.6732289791107;



ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=12000000;
ch1->Accel=160000;
ch1->Jerk=160000;
ch1->P=2.200000;
ch1->I=0.016000;
ch1->D=105.000000;
ch1->FFAccel=0.000000;
ch1->FFVel=0.000000;
ch1->MaxI=200.000000;
ch1->MaxErr=80000;
ch1->MaxOutput=2000.000000;
ch1->DeadBandGain=1.000000;
ch1->DeadBandRange=0.000000;
ch1->InputChan0=1;
ch1->InputChan1=2;
ch1->OutputChan0=1;
ch1->OutputChan1=3;
ch1->OutputGain=-1;
ch1->LimitSwitchOptions=0x0;
ch1->InputGain0=-1.000000;
ch1->InputGain1=1.000000;
ch1->InputOffset0=0.000000;
ch1->InputOffset1=0.000000;
ch1->invDistPerCycle=1.000000;
ch1->Lead=0.000000;
ch1->MaxFollowingError=8000;
ch1->StepperAmplitude=250.000000;

ch1->iir[0].B0=1.000000;
ch1->iir[0].B1=0.000000;
ch1->iir[0].B2=0.000000;
ch1->iir[0].A1=0.000000;
ch1->iir[0].A2=0.000000;

ch1->iir[1].B0=1.000000;
ch1->iir[1].B1=0.000000;
ch1->iir[1].B2=0.000000;
ch1->iir[1].A1=0.000000;
ch1->iir[1].A2=0.000000;

ch1->iir[2].B0=1.000000;
ch1->iir[2].B1=0.000000;
ch1->iir[2].B2=0.000000;
ch1->iir[2].A1=0.000000;
ch1->iir[2].A2=0.000000;

ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=12000000;
ch2->Accel=160000;
ch2->Jerk=160000;
ch2->P=2.200000;
ch2->I=0.010000;
ch2->D=45.000000;
ch2->FFAccel=0.000000;
ch2->FFVel=0.000000;
ch2->MaxI=200.000000;
ch2->MaxErr=80000;
ch2->MaxOutput=2000.000000;
ch2->DeadBandGain=1.000000;
ch2->DeadBandRange=0.000000;
ch2->InputChan0=2;
ch2->InputChan1=3;
ch2->OutputChan0=2;
ch2->OutputChan1=5;
ch2->OutputGain=-1;
ch2->LimitSwitchOptions=0x0;
ch2->InputGain0=-1.000000;
ch2->InputGain1=1.000000;
ch2->InputOffset0=0.000000;
ch2->InputOffset1=0.000000;
ch2->invDistPerCycle=1.000000;
ch2->Lead=0.000000;
ch2->MaxFollowingError=8000;
ch2->StepperAmplitude=250.000000;

ch2->iir[0].B0=1.000000;
ch2->iir[0].B1=0.000000;
ch2->iir[0].B2=0.000000;
ch2->iir[0].A1=0.000000;
ch2->iir[0].A2=0.000000;

ch2->iir[1].B0=1.000000;
ch2->iir[1].B1=0.000000;
ch2->iir[1].B2=0.000000;
ch2->iir[1].A1=0.000000;
ch2->iir[1].A2=0.000000;

ch2->iir[2].B0=1.000000;
ch2->iir[2].B1=0.000000;
ch2->iir[2].B2=0.000000;
ch2->iir[2].A1=0.000000;
ch2->iir[2].A2=0.000000;

ch3->InputMode=ENCODER_MODE;
ch3->OutputMode=DAC_SERVO_MODE;
ch3->Vel=16000;
ch3->Accel=1000000;
ch3->Jerk=110000000;
ch3->P=1.75;
ch3->I=9.999999747379e-006;
ch3->D=65;
ch3->FFAccel=0;
ch3->FFVel=0;
ch3->MaxI=200;
ch3->MaxErr=2000;
ch3->MaxOutput=2000;
ch3->DeadBandGain=1;
ch3->DeadBandRange=0;
ch3->InputChan0=4;
ch3->InputChan1=4;
ch3->OutputChan0=3;
ch3->OutputChan1=7;
ch3->MasterAxis=-1;
ch3->LimitSwitchOptions=0x0;
ch3->InputGain0=-1;
ch3->InputGain1=1;
ch3->InputOffset0=0;
ch3->InputOffset1=0;
ch3->OutputGain=1;
ch3->OutputOffset=0;
ch3->SlaveGain=1;
ch3->BacklashMode=BACKLASH_OFF;
ch3->BacklashAmount=0;
ch3->BacklashRate=0;
ch3->invDistPerCycle=1;
ch3->Lead=0;
ch3->MaxFollowingError=1000000000;
ch3->StepperAmplitude=250;

ch3->iir[0].B0=1;
ch3->iir[0].B1=0;
ch3->iir[0].B2=0;
ch3->iir[0].A1=0;
ch3->iir[0].A2=0;

ch3->iir[1].B0=1;
ch3->iir[1].B1=0;
ch3->iir[1].B2=0;
ch3->iir[1].A1=0;
ch3->iir[1].A2=0;

ch3->iir[2].B0=1;
ch3->iir[2].B1=0;
ch3->iir[2].B2=0;
ch3->iir[2].A1=0;
ch3->iir[2].A2=0;

DefineCoordSystem(0,1,2,3);
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
EnableAxis(3);
Zero(0);
Zero(1);
Zero(2);
Zero(3);

for(;;)
{
WaitNextTimeSlice();

if (ReadBit(48)) // Which Z mode are we in?
{
// THC Z mode is on, remove Z from System to allow THC
DefineCoordSystem(0,1,-1,-1);

if (ReadBit(143)) // if plasma is ON?
{

if (ReadBit(142))   //Up?
{
Delay_sec(0.1); // Delay for error filter
Jog(2,10000);           // Axis Z move UP
while (ReadBit(142)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
else if (ReadBit(141)) //DOWN?
{
Delay_sec(0.1); //Delay.
Jog(2,-10000);           // Axis Z move DOWN
while (ReadBit(141)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
}
}
else
{
// THC Z mode is off switch to normal Z mode
DefineCoordSystem(0,1,2,-1);
}
}
}


Group: DynoMotion Message: 14598 From: Tom Kerekes Date: 4/15/2017
Subject: Re: version 433 very slow
Oops. I meant Axis #1 and #2

TK

On Apr 15, 2017, at 10:38 AM, Tom Kerekes tk@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:

 

The Axis #2 and #3 Velocity, Acceleration, and Jerk are set to impractical values. 

A Velocity of 12000000 counts/s is way too high. An Acceleration of 160000 counts/s2 would take your system more than 75 sec to start/stop. The new Version slows down whenever the motion buffer becomes dangerously low without enough motion to even stop. With the buffering limited to 4 seconds the slow down is triggered.  Set the Velocity to a reasonable value. 

Jerk of 160000 is ok but somewhat low. That means the Acceleration is applied over 1sec.  This will result in very smooth motion but at the expense of throughput. 

You might also read this article:

HTH
Regards
TK

On Apr 15, 2017, at 8:05 AM, olgers.cees0@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:

 

this is the one


#include "KMotionDef.h"

main()
{
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=200000;
ch0->Accel=200000;
ch0->Jerk=2000000;
ch0->P=1.2;
ch0->I=0.0009;
ch0->D=85;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=2000;
ch0->MaxErr=2000;
ch0->MaxOutput=2000;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=1;
ch0->OutputChan0=0;
ch0->OutputChan1=1;
ch0->MasterAxis=0;
ch0->LimitSwitchOptions=0x0;
ch0->InputGain0=-1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=0;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=8000;
ch0->StepperAmplitude=250;

ch0->iir[0].B0=1;
ch0->iir[0].B1=0;
ch0->iir[0].B2=0;
ch0->iir[0].A1=0;
ch0->iir[0].A2=0;

ch0->iir[1].B0=1;
ch0->iir[1].B1=0;
ch0->iir[1].B2=0;
ch0->iir[1].A1=0;
ch0->iir[1].A2=0;

ch0->iir[2].B0=0.01660940051079;
ch0->iir[2].B1=0.03321890160441;
ch0->iir[2].B2=0.01660940051079;
ch0->iir[2].A1=1.606789946556;
ch0->iir[2].A2=-0.6732289791107;



ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=12000000;
ch1->Accel=160000;
ch1->Jerk=160000;
ch1->P=2.200000;
ch1->I=0.016000;
ch1->D=105.000000;
ch1->FFAccel=0.000000;
ch1->FFVel=0.000000;
ch1->MaxI=200.000000;
ch1->MaxErr=80000;
ch1->MaxOutput=2000.000000;
ch1->DeadBandGain=1.000000;
ch1->DeadBandRange=0.000000;
ch1->InputChan0=1;
ch1->InputChan1=2;
ch1->OutputChan0=1;
ch1->OutputChan1=3;
ch1->OutputGain=-1;
ch1->LimitSwitchOptions=0x0;
ch1->InputGain0=-1.000000;
ch1->InputGain1=1.000000;
ch1->InputOffset0=0.000000;
ch1->InputOffset1=0.000000;
ch1->invDistPerCycle=1.000000;
ch1->Lead=0.000000;
ch1->MaxFollowingError=8000;
ch1->StepperAmplitude=250.000000;

ch1->iir[0].B0=1.000000;
ch1->iir[0].B1=0.000000;
ch1->iir[0].B2=0.000000;
ch1->iir[0].A1=0.000000;
ch1->iir[0].A2=0.000000;

ch1->iir[1].B0=1.000000;
ch1->iir[1].B1=0.000000;
ch1->iir[1].B2=0.000000;
ch1->iir[1].A1=0.000000;
ch1->iir[1].A2=0.000000;

ch1->iir[2].B0=1.000000;
ch1->iir[2].B1=0.000000;
ch1->iir[2].B2=0.000000;
ch1->iir[2].A1=0.000000;
ch1->iir[2].A2=0.000000;

ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=12000000;
ch2->Accel=160000;
ch2->Jerk=160000;
ch2->P=2.200000;
ch2->I=0.010000;
ch2->D=45.000000;
ch2->FFAccel=0.000000;
ch2->FFVel=0.000000;
ch2->MaxI=200.000000;
ch2->MaxErr=80000;
ch2->MaxOutput=2000.000000;
ch2->DeadBandGain=1.000000;
ch2->DeadBandRange=0.000000;
ch2->InputChan0=2;
ch2->InputChan1=3;
ch2->OutputChan0=2;
ch2->OutputChan1=5;
ch2->OutputGain=-1;
ch2->LimitSwitchOptions=0x0;
ch2->InputGain0=-1.000000;
ch2->InputGain1=1.000000;
ch2->InputOffset0=0.000000;
ch2->InputOffset1=0.000000;
ch2->invDistPerCycle=1.000000;
ch2->Lead=0.000000;
ch2->MaxFollowingError=8000;
ch2->StepperAmplitude=250.000000;

ch2->iir[0].B0=1.000000;
ch2->iir[0].B1=0.000000;
ch2->iir[0].B2=0.000000;
ch2->iir[0].A1=0.000000;
ch2->iir[0].A2=0.000000;

ch2->iir[1].B0=1.000000;
ch2->iir[1].B1=0.000000;
ch2->iir[1].B2=0.000000;
ch2->iir[1].A1=0.000000;
ch2->iir[1].A2=0.000000;

ch2->iir[2].B0=1.000000;
ch2->iir[2].B1=0.000000;
ch2->iir[2].B2=0.000000;
ch2->iir[2].A1=0.000000;
ch2->iir[2].A2=0.000000;

ch3->InputMode=ENCODER_MODE;
ch3->OutputMode=DAC_SERVO_MODE;
ch3->Vel=16000;
ch3->Accel=1000000;
ch3->Jerk=110000000;
ch3->P=1.75;
ch3->I=9.999999747379e-006;
ch3->D=65;
ch3->FFAccel=0;
ch3->FFVel=0;
ch3->MaxI=200;
ch3->MaxErr=2000;
ch3->MaxOutput=2000;
ch3->DeadBandGain=1;
ch3->DeadBandRange=0;
ch3->InputChan0=4;
ch3->InputChan1=4;
ch3->OutputChan0=3;
ch3->OutputChan1=7;
ch3->MasterAxis=-1;
ch3->LimitSwitchOptions=0x0;
ch3->InputGain0=-1;
ch3->InputGain1=1;
ch3->InputOffset0=0;
ch3->InputOffset1=0;
ch3->OutputGain=1;
ch3->OutputOffset=0;
ch3->SlaveGain=1;
ch3->BacklashMode=BACKLASH_OFF;
ch3->BacklashAmount=0;
ch3->BacklashRate=0;
ch3->invDistPerCycle=1;
ch3->Lead=0;
ch3->MaxFollowingError=1000000000;
ch3->StepperAmplitude=250;

ch3->iir[0].B0=1;
ch3->iir[0].B1=0;
ch3->iir[0].B2=0;
ch3->iir[0].A1=0;
ch3->iir[0].A2=0;

ch3->iir[1].B0=1;
ch3->iir[1].B1=0;
ch3->iir[1].B2=0;
ch3->iir[1].A1=0;
ch3->iir[1].A2=0;

ch3->iir[2].B0=1;
ch3->iir[2].B1=0;
ch3->iir[2].B2=0;
ch3->iir[2].A1=0;
ch3->iir[2].A2=0;

DefineCoordSystem(0,1,2,3);
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
EnableAxis(3);
Zero(0);
Zero(1);
Zero(2);
Zero(3);

for(;;)
{
WaitNextTimeSlice();

if (ReadBit(48)) // Which Z mode are we in?
{
// THC Z mode is on, remove Z from System to allow THC
DefineCoordSystem(0,1,-1,-1);

if (ReadBit(143)) // if plasma is ON?
{

if (ReadBit(142))   //Up?
{
Delay_sec(0.1); // Delay for error filter
Jog(2,10000);           // Axis Z move UP
while (ReadBit(142)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
else if (ReadBit(141)) //DOWN?
{
Delay_sec(0.1); //Delay.
Jog(2,-10000);           // Axis Z move DOWN
while (ReadBit(141)) ;
Jog(2,0);       
while (!CheckDone(2))  ;   
}
}
}
else
{
// THC Z mode is off switch to normal Z mode
DefineCoordSystem(0,1,2,-1);
}
}
}


Group: DynoMotion Message: 14617 From: ceesolgers Date: 4/20/2017
Subject: Re: version 433 very slow
I did change the vel and acc dramatically down but got no results, only when put in a buffer time of 30 seconds it is working again.
 4 seconds buffering is to little. What is a plausible time to buffer?

regards, Cees
Group: DynoMotion Message: 14618 From: Tom Kerekes Date: 4/20/2017
Subject: Re: version 433 very slow

Hi Cees,

What values did you put?  Post the new Init C file for us to look at.  Did you change Jerk also? 

Did you make a big move with the Step Response Screen and verify you are achieving your max velocity?  How long it takes to accelerate and decelerate?

If your system can stop from full speed in 4 seconds then 4 seconds of buffering should be enough.

Regards

TK




On 4/20/2017 8:40 AM, olgers.cees0@... [DynoMotion] wrote:
 

I did change the vel and acc dramatically down but got no results, only when put in a buffer time of 30 seconds it is working again.

 4 seconds buffering is to little. What is a plausible time to buffer?

regards, Cees